File: /home/shaping-sar.ru/public_html/wp-content/themes/beauty spa/builder/config.php
<?php
class iz_buider
{
public function __construct()
{
define('IZ_LANG', 'iz_shortcode');
$this->path['shortcode'] = '/shortcode';
$this->path['params'] = '/params';
$this->path['template'] = '/template';
add_filter('iz_load_builder_shortcode', array($this, 'iz_load_builder_shortcode'));
add_filter('iz_load_param_file', array($this, 'iz_load_param_file'));
add_filter('iz_load_template_file', array($this, 'iz_load_template_file'));
$this->load_shortcode_file();
$this->load_class();
$this->load_params_file();
add_filter('iz_remove_vc_shorcode', array($this, 'remove_vc_shortocode'), 10, 2);
add_filter('iz_get_slider_title', array($this, 'get_slider_title'), 10, 1);
global $pagenow;
if($pagenow =='post-new.php' || $pagenow == 'post.php')
{
add_action('admin_footer', array($this, 'iz_load_icon_font'));
}
add_action('admin_enqueue_scripts', array($this, 'add_ajax'));
add_action('wp_ajax_iz_add_mailchimpkey', array($this, 'iz_add_mailchimpkey'));
// $this->load_template_file();
// add_action('add_meta_boxes', array($this, 'add_meta_box'));
// add_action('save_post', array($this, 'save_meta'));
// vc_remove_element( "vc_message" );
// vc_remove_element( 'vc_gallery' );
add_action('wp_ajax_iz_subscrible', array($this, 'iz_subscrible'));
add_action('wp_ajax_nopriv_iz_subscrible', array($this, 'iz_subscrible'));
add_action('wp_enqueue_scripts', array($this, 'iz_load_js'), 100);
}
public function iz_load_js(){
wp_enqueue_script('iz_js', get_template_directory_uri() .'/builder/assets/js/font_end.js', array(), NULL, TRUE);
wp_localize_script( 'iz_js', 'ajax_process', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )) );
}
public function iz_subscrible(){
$email = isset($_POST['email']) ? $_POST['email'] : '';
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo json_encode(array('status'=> FALSE, 'msg'=> __('Email is invalid!', IZ_LANG)));
wp_die();
}
$apikey = get_option('iz_mailchim_key');
// echo $apikey;
// die();
$apikey = json_decode($apikey, TRUE);
include_once('lib/mailchimp.php');
$MailChimp = new MailChimp($apikey['api']);
$result = $MailChimp->call('lists/subscribe', array(
'id' => $apikey['id'],
'email' => array('email'=>$email),
// 'merge_vars' => array('FNAME'=>'Davy', 'LNAME'=>'Jones'),
'double_optin' => false,
'update_existing' => true,
'replace_interests' => false,
'send_welcome' => false,
));
if(isset($result['status']) && $result['status']=='error'){
echo json_encode(array("status"=>FALSE,"msg"=>$result['error']));
wp_die();
}
echo json_encode(array("status"=>TRUE,"msg"=>__("Thank you for your subscribe!", IZ_LANG)));
wp_die();
}
public function iz_add_mailchimpkey(){
$apikey = $_POST['apikey'];
$id = $_POST['id'];
update_option('iz_mailchim_key', json_encode(array('api'=>$apikey, 'id'=>$id)));
wp_die('ok ngon');
}
public function add_ajax(){
echo "<script type='text/javascript'>";
$ajax_url = admin_url( 'admin-ajax.php' );
echo "var ajax_url='{$ajax_url}'";
echo "</script>";
}
public function iz_load_icon_font(){
include_once('font-icon.php');
}
public function iz_load_builder_shortcode($path)
{
$path = array(dirname(__FILE__). '/shortcode/');
return $path;
}
public function iz_load_param_file($path)
{
$path = array(dirname(__FILE__). '/params/');
return $path;
}
public function iz_load_template_file($path)
{
$path = array(dirname(__FILE__). '/template/');
return $path;
}
public function load_params_file()
{
$elements = apply_filters('iz_load_param_file', $this->path['params']);
foreach ($elements as $key ) {
foreach (glob($key.'*.php') as $file) {
require_once($file);
}
}
}
// public function load_template_file()
// {
// $elements = apply_filters('iz_load_template_file', $this->path['template']);
// foreach ($elements as $key ) {
// foreach (glob($key.'*.php') as $file) {
// require_once($file);
// }
// }
// }
public function load_shortcode_file()
{
include_once('abstract-shortcode.php');
$elements = apply_filters('iz_load_builder_shortcode', $this->path['shortcode']);
foreach ($elements as $key ) {
foreach (glob($key.'*.php') as $file) {
require_once($file);
}
}
}
public function load_class()
{
foreach(get_declared_classes() as $class)
{
if(is_subclass_of($class, 'iz_shortcode'))
{
new $class;
}
}
}
public function remove_vc_shortocode($content, $shortcode){
$pattern = '/\[(\[?)('.$shortcode.')(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*(?:\[(?!\/\2\])[^\[]*)*)(\[\/\2\]))?)(\]?)/';
preg_match($pattern, $content, $matches);
if($matches){
return $matches[5];
}
}
public function get_slider_title($content){
$pattern = '/\[(\[?)(iz_service)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*(?:\[(?!\/\2\])[^\[]*)*)(\[\/\2\]))?)(\]?)/';
preg_match_all($pattern, $content, $matches);
$title_array = array();
if($matches){
if(is_array($matches[3])){
foreach ($matches[3] as $key => $value) {
$atts = shortcode_parse_atts($value);
$title_array[] = array(
'title' => $atts['title'],
'active' => (isset($atts['active'])) ? $atts['active'] : '',
);
}
}
}
return $title_array;
}
}
if ( in_array( 'js_composer/js_composer.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ){
include_once('iz_post_type.php');
new iz_spicehub_post_type();
new iz_buider();
}
?>